/* 
 * File:   Lista_Universidade.h
 * Author: Vagner Clementino
 *
 * Created on 7 de Abril de 2012, 09:43
 */

#include "universidade.h"

typedef struct{
    universidade u;
    struct Nodo_Universidade* next;
}Nodo_Universidade;

typedef Nodo_Universidade* pNodo_Universidade;

typedef struct{
    int num_itens;
    pNodo_Universidade primeiro;
    pNodo_Universidade ultimo;
}Head_Universidade;

typedef Head_Universidade* Lista_Universidade;

/*Cria uma lista vazia*/
Lista_Universidade cria_lista_universidades();

/*Cria dinamicamente espaco para um nodo da lista*/
pNodo_Universidade cria_nodo_universidade();

/*Insere uma Pessoa p na lista l*/
void insere_universidade(Lista_Universidade* l, universidade* p);

/*Imprime o conteudo de uma lista l, sabendo o tamanho da lista de preferecia
 * das pessoas.
 */
void imprime_lista_universidades(const Lista_Universidade l);

/*Busca a pessoa de id id_pessoa na lista l retornando
 * um ponteiro para a struct pessoa no caso de sucesso e
 * NULL caso contrario.
 */
universidade* busca_universidade(int id_universidade, const Lista_Universidade l);

/*Verifica se a lista l esta vazia. Retorna 1 se a lista estiver vazia
 * ou 0 (zero) caso contrario.
 */
int esta_vazia_lista_universidade(const Lista_Universidade l);

/*Remove todo os itens de uma lista*/
void remove_todas_universidades(Lista_Universidade* l);

